import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @author yexy
 * @date 2020/6/15 12:59 下午
 * @description
 */

//斗地主
public class Landlords {

    private static List<Card> cardsA = new ArrayList<>();
    private static List<Card> cardsB = new ArrayList<>();
    private static List<Card> cardsC = new ArrayList<>();


//    使用集合实现斗地主游戏的部分功能，要求如下：
//            （1）首先准备 54 张扑克牌并打乱顺序。
//            （2）由三个玩家交替摸牌，每人 17 张扑克牌，最后三张留作底牌。
//            （3）查看三个玩家手中的扑克牌和底牌。
//            （4）其中玩家手中的扑克牌需要按照大小顺序打印，规则如下：
//    手中扑克牌从大到小的摆放顺序：大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3



    //开始斗地主
    public static void start(){
        Poker poker = new Poker();
        ArrayList<Card> cards = poker.getCards();

        //已发牌的数量
        int goNum = 0;
        Random random = new Random();

        //随机发牌
        for (int i = 0; i < 17 ; i ++){

            int ranNum = random.nextInt(54 - goNum);
            cardsA.add(cards.get(ranNum));
            cards.remove(ranNum);
            goNum ++ ;

            ranNum = random.nextInt(54 - goNum);
            cardsB.add(cards.get(ranNum));
            cards.remove(ranNum);
            goNum ++ ;

            ranNum = random.nextInt(54 - goNum);
            cardsC.add(cards.get(ranNum));
            cards.remove(ranNum);
            goNum ++ ;

        }

        System.out.println("玩家A的牌：" + poker.sort(cardsA));
        System.out.println("玩家B的牌：" + poker.sort(cardsB));
        System.out.println("玩家C的牌：" + poker.sort(cardsC));
        System.out.println("底牌：" + poker.sort(cards));
    }
}
